Aula 10, M2
Sala de Situação - UnB
Função mutate() e group_by()
Mais sobre o pacote flextable: cores e bordas
trabalhando com colunas - seleciona, reordena…
filtra linhas
Nada disso mudou a essência dos dados!!
As vezes quer calcular coisas novas!
Indicadores;
Estatísticas descritivas básicas;
Novas variáveis…
Cria novas colunas ou substitui as existentes
# A tibble: 5,888 × 4
wt_kg ht_cm ht_m imc
<dbl> <dbl> <dbl> <dbl>
1 27 48 0.48 117.
2 25 59 0.59 71.8
3 91 238 2.38 16.1
4 41 135 1.35 22.5
5 36 71 0.71 71.4
6 56 116 1.16 41.6
7 47 87 0.87 62.1
8 0 11 0.11 0
9 86 226 2.26 16.8
10 69 174 1.74 22.8
# ℹ 5,878 more rows
Fazer o cálculo com os valores de uma coluna só.
O que acontece?
Ele faz a conta para a coluna!
Fazer a conta para uma linha é meio chato!
Não é simples como no excel.
Mas, se precisar! Pesquise as funções:
rowwise()
c_across()
# A tibble: 5,888 × 2
# Groups: gender [3]
gender age
<chr> <dbl>
1 m 2
2 f 3
3 m 56
4 f 18
5 m 3
6 f 16
7 f 16
8 f 0
9 m 61
10 f 27
# ℹ 5,878 more rows
# A tibble: 5,888 × 3
# Groups: gender [3]
gender age idade_media
<chr> <dbl> <dbl>
1 m 2 19.6
2 f 3 12.7
3 m 56 19.6
4 f 18 12.7
5 m 3 19.6
6 f 16 12.7
7 f 16 12.7
8 f 0 12.7
9 m 61 19.6
10 f 27 12.7
# ℹ 5,878 more rows
Melhorou um pouco…
ebola %>%
select(gender, age, wt_kg, ht_cm) %>%
mutate(ht_m=ht_cm/100,
IMC=wt_kg/ht_m^2) %>%
group_by(gender) %>%
summarise(idade_media=mean(age, na.rm=T),
IMC_medio=mean(IMC))# A tibble: 3 × 3
gender idade_media IMC_medio
<chr> <dbl> <dbl>
1 f 12.7 55.5
2 m 19.6 38.4
3 <NA> 14.9 46.0
Com o mutate()
# A tibble: 5,888 × 3
gender age idade_media
<chr> <dbl> <dbl>
1 m 2 NA
2 f 3 NA
3 m 56 NA
4 f 18 NA
5 m 3 NA
6 f 16 NA
7 f 16 NA
8 f 0 NA
9 m 61 NA
10 f 27 NA
# ℹ 5,878 more rows
Tem pelo menos um NA em alguma dos valores de idade
Afinal, você somar um número que você não sabe, vai resultar em algo que você não sabe.
Tentando o group_by + summarise()
# A tibble: 3 × 2
gender idade_media
<chr> <dbl>
1 f 12.7
2 m 19.6
3 <NA> NA
NA em ambas essas variáveisJogar fora os NA
Ignorar os NA apenas para as contas
Há muitas funções auxiliares
Veja os capítulos sugeridos para mais dicas sobre valores faltantes
Há outras tecnicas mais avaçadas: imputar dados